#pragma once

#include "ICPLabel.h"
#include "ICPUtility.h"

class SchDuty;
class BasAirport;

class ICPNode {
  private:
    int _id;
    static int _countId;

    time_t _date;
    BasAirport* _airport;

    vector<SchDuty*> _outDutyList;

  public:
    ICPNode(time_t date, BasAirport* airport);
    ~ICPNode();

    int getId() { return _id; }

    time_t getDate() { return _date; }

    BasAirport* getAirport() { return _airport; }

    void pushOutDuty(SchDuty* duty) { _outDutyList.push_back(duty); }
    vector<SchDuty*> getOutDutyList() { return _outDutyList; }
    void setOutDuty(vector<SchDuty*> dutys) { _outDutyList = dutys; }

    static bool cmpByDate(ICPNode* a, ICPNode* b);

    void print();
};
